package com.cjkj.system.service;

import java.util.List;
import com.cjkj.system.api.domain.THospitalUser;
import com.cjkj.system.domain.dto.HospitalUserReq;
import com.cjkj.system.domain.vo.HospitalUserVo;

/**
 * 医院用户Service接口
 * 
 * @author cjkj
 * @date 2024-08-30
 */
public interface ITHospitalUserService
{
    /**
     * 查询医院用户
     * 
     * @param userId 医院用户主键
     * @return 医院用户
     */
    THospitalUser selectTHospitalUserByUserId(String userId);

    /**
     * 根据用户名查询
     * @param userName 用户名
     * @return
     */
    THospitalUser getUserByUserName(String userName);

    /**
     * 根据用户名重置密码
     * @param userName 用户名
     * @param password 密码
     * @return
     */
    int resetUserPwd(String userName, String password);

    /**
     * 查询医院用户列表
     * @param req
     * @return
     */
    List<HospitalUserVo> selectTHospitalUserList(HospitalUserReq req);

    /**
     * 新增医院用户
     * 
     * @param tHospitalUser 医院用户
     * @return 结果
     */
    int add(THospitalUser tHospitalUser);

    /**
     * 删除医院用户信息
     *
     * @param userId 医院用户主键
     * @return 结果
     */
    int deleteUserById(String userId);

    /**
     * 修改医院用户
     * 
     * @param tHospitalUser 医院用户
     * @return 结果
     */
    int updateTHospitalUser(THospitalUser tHospitalUser);

    /**
     * 根据医院和部门查询
     * @param hospitalId
     * @param deptId
     * @return
     */
    List<HospitalUserVo> getUserByDept(String hospitalId, String deptId);

    /**
     * 验证用户密码
     * @param userId 用户ID
     */
    boolean verifyUserPassword(String userId);
}
